Fix workflow msix apk 16858386767569777702#2275
Closed
Alireza-Aiden wants to merge 7 commits into
Closed
Conversation
This commit introduces significant architectural enhancements to optimize performance and reduce battery usage for the Hiddify fork. Key Features: - **BatterySaverService**: Integrates `battery_plus` to monitor power states and suspend heavy tasks (like background profile updates and ping tests) when the device is low on battery or in power-save mode. - **BenchmarkCacheManager**: Implements intelligent caching of ping benchmarks to avoid repetitive testing of the same nodes within a short timeframe. - **SmartDiagnosticsService**: Evaluates connection errors in real-time, deducing the root cause (DNS, MTU fragmentation, IPv6, routing) and suggesting actionable fixes via the UI instead of opaque errors. - **CloudflareScannerService**: A background scanner leveraging `dart_ping` that evaluates candidate Cloudflare IP addresses by latency and packet loss while respecting battery save states. - **PerformanceDashboardWidget**: A UI component that displays critical real-time performance metrics (Ping, Node Score, Packet Loss, Uptime, Battery Impact) integrated directly into the `HomePage`. All added services conform to the app's standard Riverpod + Clean Architecture pattern. Tests were written to ensure the new services operate correctly. Co-authored-by: Alireza-Aiden <43907400+Alireza-Aiden@users.noreply.github.com>
…-2622600865023311868 feat: Add Premium battery-saving, caching, diagnostics, and dashboard
- Added `msix` to `pubspec.yaml` `dev_dependencies` so that the `fastforge` command inside `make windows-msix-release` can successfully build the Windows msix package. - Added `analyzer: ^7.0.0` to `pubspec.yaml` `dev_dependencies` to resolve the version incompatibility with riverpod_generator that was preventing `build_runner` from generating the `.g.dart` files. Without these generated files, the Android APK build fails because the generated providers are missing. - Updated `.github/workflows/build.yml` to copy APK files from both `build/app/outputs/flutter-apk/` and `build/app/outputs/apk/release/` to correctly support workflows depending on Android abi splits configuration in newer gradle and flutter setups. Co-authored-by: Alireza-Aiden <43907400+Alireza-Aiden@users.noreply.github.com>
- Added `msix` package to `pubspec.yaml` `dev_dependencies` to ensure the fastforge command completes successfully for the msix targets. - Updated `analyzer` constraint to `>=7.0.0` in `pubspec.yaml` `dev_dependencies` to avoid version incompatibility with riverpod_generator that was preventing `build_runner` from generating `.g.dart` files. - Modified `.github/workflows/build.yml` to gracefully retrieve output APKs from both `build/app/outputs/flutter-apk/` and `build/app/outputs/apk/release/` depending on flutter and gradle release configurations and splitting structures. Co-authored-by: Alireza-Aiden <43907400+Alireza-Aiden@users.noreply.github.com>
- Added `msix` package to `pubspec.yaml` `dev_dependencies` to ensure the `fastforge` script correctly compiles MSIX targets for Windows. - Added `analyzer: ^7.0.0` to `pubspec.yaml` `dev_dependencies` to prevent version incompatibility with `riverpod_generator`. This ensures `build_runner` functions correctly to generate `.g.dart` files required for Android APK builds. - Refactored `.github/workflows/build.yml` Android APK target output discovery. Copied files from both `build/app/outputs/flutter-apk/` and `build/app/outputs/apk/release/` depending on ABI splits configurations in the active flutter/gradle toolchain structure. Co-authored-by: Alireza-Aiden <43907400+Alireza-Aiden@users.noreply.github.com>
- Add `msix` to `pubspec.yaml` `dev_dependencies` to ensure the `fastforge` script successfully compiles Windows MSIX releases during CI. - Define `analyzer: ^7.0.0` in `dev_dependencies` to resolve version incompatibilities with `riverpod_generator`. This enables `.g.dart` file generation, allowing `flutter build apk` to succeed locally and in workflows. - Update `.github/workflows/build.yml` to fallback properly to `build/app/outputs/apk/release/` instead of failing if older `build/app/outputs/flutter-apk/` isn't found. This guarantees APK uploads will not error out silently. - Fix Apple upload actions conditional statements requiring empty checks to ensure they don't break macOS pipeline builds in GitHub workflows. Co-authored-by: Alireza-Aiden <43907400+Alireza-Aiden@users.noreply.github.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.